package com.hsu.apibackend.model.vo;

import com.github.binarywang.wxpay.bean.result.WxPayOrderQueryV3Result;
import com.google.gson.annotations.SerializedName;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.List;

/**
 * 支付信息视图
 * @ClassName: PaymentVO
 * @author Hsu琛君珩
 * @date 2024-09-06
 * @apiNote
 * @Version: v1.0
 */
@Data
@NoArgsConstructor
public class PaymentInfoVO implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 应用 ID
     */
    private String appid;

    /**
     * 商户号
     */
    private String mchid;

    /**
     * 商户订单号
     */
    private String outTradeNo;

    /**
     * 微信订单号
     */
    private String transactionId;

    /**
     * 贸易类型
     */
    private String tradeType;

    /**
     * 交易状态
     */
    private String tradeState;

    /**
     * 交易状态描述
     */
    private String tradeStateDesc;

    /**
     * 银行类型
     */
    private String bankType;

    /**
     * 附加数据
     */
    private String attach;

    /**
     * 支付成功时间
     */
    private String successTime;

    /**
     * 支付者信息
     */
    private WxPayOrderQueryV3Result.Payer payer;

    /**
     * 支付金额
     */
    @SerializedName(value = "amount")
    private WxPayOrderQueryV3Result.Amount amount;

    /**
     * 场景信息
     */
    @SerializedName(value = "scene_info")
    private WxPayOrderQueryV3Result.SceneInfo sceneInfo;

    /**
     * 优惠详情
     */
    @SerializedName(value = "promotion_detail")
    private List<WxPayOrderQueryV3Result.PromotionDetail> promotionDetails;
}
